package cn.iocoder.yudao.module.erp.dal.dataobject.stock.goods;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 物品 DO
 *
 * @author maxuxu
 */
@TableName("erp_goods")
@KeySequence("erp_goods_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class GoodsDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 名字
     */
    private String name;
    /**
     * 编号
     */
    private String code;
    /**
     * 物品描述
     */
    private String description;
    /**
     * 规格型号
     */
    private String models;
    /**
     * 品牌
     */
    private String brand;
    /**
     * 类目名称
     */
    private String categoryName;
    /**
     * 类目编号
     */
    private String categoryCode;
    /**
     * 类目id
     */
    private Long categoryId;
    /**
     * 保质期开关
     *
     * 枚举 {@link TODO infra_config_type 对应的类}
     */
    private Boolean expirationFlag;
    /**
     * 保质期
     */
    private Integer expirationDay;
    /**
     * 提前报警天数
     */
    private Integer alarmDay;
    /**
     * 采购价格
     */
    private BigDecimal orderPrice;
    /**
     * 销售价格
     */
    private BigDecimal salePrice;
    /**
     * 条形码
     */
    private String proBarCode;
    /**
     * 图片
     */
    private String image;
    /**
     * 库存上限
     */
    private BigDecimal maxQuantity;
    /**
     * 库存下限
     */
    private BigDecimal minQuantity;
    /**
     * 制造商型号
     */
    private String produceModel;
    /**
     * 采购提前期
     */
    private String purchaseLead;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 附件
     */
    private String source;
    /**
     * 单位
     */
    private String unit;
    /**
     * 多单位开关
     *
     * 枚举 {@link TODO infra_config_type 对应的类}
     */
    private Integer unitFlag;
    /**
     * 英文名
     */
    private String nameEn;
    /**
     * 状态
     */
    private Integer status;

}